<?php

/**
 * Boleta form.
 *
 * @package    aeropostal
 * @subpackage form
 * @author     Your name here
 */
class BoletaForm extends BaseBoletaForm
{
  public function configure()
  {
      $this->setWidgets(array(
          'proveedor'         => new sfWidgetFormPropelChoice(array('model' => 'Proveedor', 'add_empty' => '- Seleccione -')),
          'fecha'             => new sfWidgetFormInputText(),
          'numBoleta'         => new sfWidgetFormInputText(),
          'factura'           => new sfWidgetFormInputText(),
          'vuelo'             => new sfWidgetFormPropelChoice(array('model' => 'Vuelo', 'add_empty' => '- Seleccione -')),
          'estacionSum'       => new sfWidgetFormPropelChoice(array('model' => 'Estacion', 'add_empty' => '- Seleccione -')),
          'estacionSalida'    => new sfWidgetFormPropelChoice(array('model' => 'Estacion', 'add_empty' => '- Seleccione -')),
          'aeronave'          => new sfWidgetFormPropelChoice(array('model' => 'Aeronave', 'add_empty' => '- Seleccione -')),
          'uMedida'           => new sfWidgetFormPropelChoice(array('model' => 'Unidmedida', 'add_empty' => '- Seleccione -')),
          'tipoComb'          => new sfWidgetFormPropelChoice(array('model' => 'Tipocomb', 'add_empty' => '- Seleccione -')),
          'lecturaI'          => new sfWidgetFormInputText(),
          'lecturaF'          => new sfWidgetFormInputText(),
          'total'             => new sfWidgetFormInputText(),
          'cantNacional'      => new sfWidgetFormInputText(),
          'cantInternacional' => new sfWidgetFormInputText(),
          'horaI'             => new sfWidgetFormInputText(),
          'horaF'             => new sfWidgetFormInputText(),
          'horaTotal'         => new sfWidgetFormInputText(),
          'estatus'         => new sfWidgetFormInputHidden(),
      ));
      
      $this->setValidators(array(
      'proveedor'         => new sfValidatorPropelChoice(array('model' => 'Proveedor', 'column' => 'rif'),array('required' => 'Debe especificar el proveedor')),
      'fecha'             => new sfValidatorString(array('max_length' => 255),array('required' => 'Debe especificar la fecha')),
      'numBoleta'         => new sfValidatorString(array('max_length' => 255),array('required' => 'Debe especificar el número de la boleta')),
      'factura'           => new sfValidatorPropelChoice(array('model' => 'Factura', 'column' => 'numero', 'required' => false)),
      'vuelo'             => new sfValidatorPropelChoice(array('model' => 'Vuelo', 'column' => 'numVuelo'),array('required' => 'Debe especificar el vuelo')),
      'estacionSum'       => new sfValidatorPropelChoice(array('model' => 'Estacion', 'column' => 'codigo'),array('required' => 'Debe especificar la Estación de Suministro')),
      'estacionSalida'    => new sfValidatorPropelChoice(array('model' => 'Estacion', 'column' => 'codigo', 'required' => false)),
      'aeronave'          => new sfValidatorPropelChoice(array('model' => 'Aeronave', 'column' => 'serial'),array('required' => 'Debe especificar la aeronave')),
      'uMedida'           => new sfValidatorPropelChoice(array('model' => 'Unidmedida', 'column' => 'simbolo'),array('required' => 'Debe especificar la Unidad de Medida')),
      'tipoComb'          => new sfValidatorPropelChoice(array('model' => 'Tipocomb', 'column' => 'nombre'),array('required' => 'Debe especificar el tipo de combustible')),
      'lecturaI'          => new sfValidatorInteger(array('min' => -2147483648, 'max' => 2147483647),array('required' => 'Debe especificar la lectura Inicial')),
      'lecturaF'          => new sfValidatorInteger(array('min' => -2147483648, 'max' => 2147483647),array('required' => 'Debe especificar la lectura Final')),
      'total'             => new sfValidatorInteger(array('min' => -2147483648, 'max' => 2147483647),array('required' => 'Debe especificar la cantidad total de suministro')),
      'cantNacional'      => new sfValidatorInteger(array('min' => -2147483648, 'max' => 2147483647, 'required' => false)),
      'cantInternacional' => new sfValidatorInteger(array('min' => -2147483648, 'max' => 2147483647, 'required' => false)),
      'horaI'             => new sfValidatorTime(array('required' => true), array('required' => 'Debe especificar la Hora Inicial de Tanqueo')),
      'horaF'             => new sfValidatorTime(array('required' => true), array('required' => 'Debe especificar la Hora Final de Tanqueo')),
      'horaTotal'         => new sfValidatorTime(array('required' => true), array('required' => 'Debe especificar el tiempo total de Tanqueo')),
      'estatus'           => new sfValidatorString(array('max_length' => 255),array('required' => 'Debe especificar el estatus')),
    ));
    $this->widgetSchema['horaTotal']->setAttribute('size', 10);
    
    $this->widgetSchema->setNameFormat('boleta[%s]');

    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  }
}
